import pandas as pd
data = {'trade_date': ['2023-10-21', '2023-10-22', '2023-10-23'],
        'vol': [1000, 2000, 1500],
        'amount': [1500.0, 2500.0, 3500.0]}
df = pd.DataFrame(data)
def format(df):
    formats = {}
    formats['trade_date'] = lambda column: pd.to_datetime(df[column])
    #formats['vol'] = lambda column: df.rename(columns={column: 'volume'}, inplace=True)
    '''函数体内部调用了df.rename方法，将column重命名为'volume'，并将inplace参数设置为True，表示对原数据进行修改,
    rename_column函数赋值给'vol'键对应的值，这样formats['vol']就封装了lambda函数'''
    def re_column(column):
        df.rename(columns={column: 'volume'}, inplace=True)
    formats['vol'] = re_column

    formats['amount'] = lambda column: df[column] * 10000

    for key, value in formats.items():
        print(f'{key}: {value}')
        result = value(key)
        #修改后
        df[key] = result
    return df
'''在原始代码中，格式化函数的返回值没有被正确地赋值给result变量,需要将格式化函数的返回值修改为正确的结果'''
formatted_df = format(df)
print(formatted_df)
'''在Python中，lambda函数通常被用于定义简单的、单行的匿名函数。
需要定义复杂的逻辑或多行代码的函数，应该使用def语句来定义普通的命名函数'''